package com.ytjj.qmyx.mall.service;

import com.ytjj.qmyx.mall.model.Product;
import com.ytjj.qmyx.mall.model.request.ProductListRequest;
import com.ytjj.qmyx.mall.model.response.FrontCategoryResponse;
import org.springframework.scheduling.annotation.Async;

import java.util.List;
import java.util.concurrent.Future;

/**
 *
 * 
 * @description:
 */
public interface FrontCategoryService {

    /**
     * 根据类型获取专栏类别
     *
     * @param type
     * @return
     */
    List<FrontCategoryResponse> getFrontListByType(Integer status,Integer pid);


    List<Product> getProductListByFrontId(Integer specialId, String type, String dataType, String platformData,Integer pageNum,Integer pageSize);

    List<Product> getRecommendProductListByFrontId(Integer specialId, String dataType, List<String> activityTypeList, Integer pageNum, Integer pageSize);

    List<Product> getRecommendProductListByFrontId(Integer specialId, String dataType, List<String> activityTypeList, Integer pageNum, Integer pageSize, String platformData);


    List<Product> getProductListForFrontCategory(ProductListRequest request);

    @Async
    Future<List<Product>> setProductIdToRedis(List<Integer> categoryIds, Integer specialId, String type, String dataType, String platformData);
}
